import Vue from 'vue'
import App from './App.vue'
//引入element-ui组件库
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//引入路由
import router from './router';
//引入vuex
import store from './store';
//引入mock
import './api/mock'
//引入Cookie
import Cookie from 'js-cookie'


Vue.config.productionTip = false
//全局引入
Vue.use(ElementUI);

//按需引入
//Vue.use(Row)
//Vue.use(Button)

//添加全局前置导航守卫
router.beforeEach((to, from, next) => {
   //判断token存不存在
   const token = Cookie.get('token')
   //token不存在，并且当前页面不是登录页，说明当前用户是未登录，应该跳转至登录页
   if(!token && to.name !== 'login'){
    next({name: 'login'})
    //token存在，并且当前页面是登录页，说明用户登录，此时跳转至首页
   }else if(token && to.name === 'login'){
   next({name:'home'})
   }else{
    next()
   }
})

new Vue({
  router,
  store,
  render: h => h(App),
  //解决页面刷新路由丢失问题
  created(){
    store.commit('addMenu', router)
  }
}).$mount('#app')
